const db = require("../db/index");
const bcrypt = require("bcryptjs");

const handler = {
    // 获取用户信息
    getUserInfo(req, res){
        const sql = `select id, user_name, account, nickname, email, user_pic from users where id=?`
        db.query(sql,req.user.id,(err,results)=>{
                if(err) return res.cc(err)
                if(results.length!==1) return res.cc('获取用户信息失败')
                console.log(results);
                res.cc('获取用户信息成功',200,{data:results[0]})
        })
    },
    // 更新用户信息
    updateUserInfo(req, res){
        const sql = `update users set ? where id=?`
        console.log(req.body.id);
        db.query(sql,[req.body,req.body.id],(err,results)=>{
            if(err) return res.cc(err)
            console.log(results);
            if(results.affectedRows!==1) return res.cc('更新用户信息失败')
            res.cc('更新成功',200)
        })
    },
    // 修改密码
    updatePassword(req,res){
        const sql = 'select * from users where id=?'
        db.query(sql,req.user.id,(err,results)=>{
            if(err) return res.cc(err)
            if(results.length!==1) return res.cc('用户不存在')
            const compareResult = bcrypt.compareSync(req.body.newPwd,results[0].password)
            console.log(compareResult);
            if(compareResult) return res.cc('原密码错误',200)
            const sql = 'update users set password=? where id=?'
            db.query(sql,[bcrypt.hashSync(req.body.newPwd, 10),req.user.id],(err,results)=>{
                if(err) return res.cc(err)
                if(results.affectedRows!==1) return res.cc('更新密码失败')
                
                res.cc('更新密码成功',200)
            })
        })
    }
}

module.exports = handler